// 检查审计功能设置

async function checkAuditSetup() {
  console.log('🚀 检查审计功能设置...');
  
  try {
    // 1. 检查审计表是否存在
    console.log('\n1. 检查审计表是否存在...');
    
    const checkTablesResponse = await fetch('http://localhost:3001/api/table/storage_slots', {
      method: 'GET'
    });
    
    if (checkTablesResponse.ok) {
      const result = await checkTablesResponse.json();
      console.log('✅ 表查询成功');
      console.log(`  表名: ${result.tableName}`);
      console.log(`  记录数: ${result.count}`);
    } else {
      console.error('❌ 表查询失败:', checkTablesResponse.status);
    }
    
    // 2. 检查是否可以查询审计表
    console.log('\n2. 检查是否可以查询审计表...');
    
    const checkAuditTableResponse = await fetch('http://localhost:3001/api/table/tasklist_audit', {
      method: 'GET'
    });
    
    if (checkAuditTableResponse.ok) {
      const result = await checkAuditTableResponse.json();
      console.log('✅ 审计表查询成功');
      console.log(`  表名: ${result.tableName}`);
      console.log(`  记录数: ${result.count}`);
      
      if (result.data && result.data.length > 0) {
        console.log('  最近的几条记录:');
        result.data.slice(0, 3).forEach((record, index) => {
          console.log(`    ${index + 1}. 任务ID: ${record.task_id}, 类型: ${record.change_type}, 时间: ${record.changed_at}`);
        });
      }
    } else {
      console.error('❌ 审计表查询失败:', checkAuditTableResponse.status);
      console.log('  可能原因: 审计表未创建或触发器未设置');
    }
    
    // 3. 检查触发器是否存在
    console.log('\n3. 检查触发器是否存在...');
    
    // 这需要直接访问数据库，我们可以通过查询sqlite_master来检查
    console.log('  触发器检查需要直接访问数据库，跳过此步骤');
    
    console.log('\n✅ 审计功能设置检查完成');
  } catch (error) {
    console.error('❌ 检查过程中发生错误:', error);
  }
}

// 运行检查
checkAuditSetup();